home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / texsis / rsfs / scriptu.mf < prev    next >
Text File  |  1992-08-10  |  28KB  |  651 lines

  1. % Formal Script upper case letters:
  2. % These letters were coded by R. A. Smith in the Fall of 1991,
  3. % based upon the Formal Script designed by R. Hunter Middleton.
  4. % Computer Modern parameters and macros are used.
  5.  
  6. % Character codes \0101 through \0132 and \0177 are generated.
  7.  
  8. % Initial version (1.0) September 1991.
  9. def bulb(suffix $,$$,$$$) =
  10.  z$$$r=z$$r; numeric dist; dist=y$r-y$$r;
  11.  path_.l:=z$l{x$$r-x$r,0}...{0,y$$r-y$r}z$$l;
  12.  filldraw path_.l--z$$r{0,y$r-y$$r}...{x$r-x$$r,0}z$r--cycle; % link
  13.  path_.r:=z$$$l{-slant*dist,dist}..z$$$r{slant*dist,-dist}; % near-circle
  14.  filldraw subpath(0,xpart(path_.r intersectiontimes path_.l)) of path_.r
  15.   --z$$r{0,y$$r-y$r}..cycle; % bulb
  16.  enddef;
  17.  
  18. cmchar "Script letter A";
  19. beginchar("A",14u#,cap_height#,0);
  20. italcorr h#*slant-3u#;
  21. adjust_fit(0,0); pickup fine.nib;
  22. pos1(vair,110); pos3(vair,90); pos5(cap_curve,-20);
  23. x1l=hround w-u; y1=.2h; x3=w-3u; y3=.08h; x5l=hround u; y5=.55h;
  24. pos7(vair,-90); pos9(cap_hair,-180);
  25. x7=2.5u; top y7l=.65h; x11l=10u; bot y9=0;
  26. pos11(cap_stem,0); pos13(cap_hair,0);
  27. x11r=x9l; bot y11=0; x13l=x11l; top y13=h+apex_o;
  28. filldraw stroke z1e..{left}z3e...z5e{up}
  29. ...z7e{right}...{.5 slant,-1}z9e; % crossbar
  30. filldraw stroke z11e--z13e; % right ascender
  31. pos15(.5[vair,cap_curve],-90); pos17(cap_hair,0); pos19(cap_hair,0);
  32. rt x15l=rt x13r; y15l=y13r; x17=8.5u; y17=.8h; x19=6u; y19=.25h;
  33. pos21(vair,-90); pos23(vair,-180); pos25(flare,-180);
  34. bot y21r=-oo; x21=3.5u; y25=.15h; lft x25r=hround u;
  35. filldraw stroke z15e..z17e...{down}z19e...{left}z21e; % left ascender
  36. bulb(21,23,25);
  37. penlabels(1,3,5,7,9,11,13,15,17,19,21,23,25);
  38. math_fit(-.15h#*slant,.2h#*slant);
  39. endchar;
  40.  
  41.  
  42. cmchar "Script letter B";
  43. beginchar("B",17u#,cap_height#,0);
  44. italcorr h#*slant-5.5u#;
  45. adjust_fit(0,0); pickup fine.nib;
  46.  pos1(cap_hair,-45); x1r=11u; top y1l=h;
  47. pos2(cap_stem,0); pos3(vair,-90); pos4(hair,-180); pos5(flare,-180);
  48. x2r=10u; y2=.3h; bot y3l=-oo; x3=6.5u; x5r=hround 3u; y5=.17h;
  49. filldraw stroke z1e{-1,-1}...z2e{down}...{left}z3e; % stem
  50. bulb(3,4,5);
  51. pos6(vair,-270); pos8(vair,-180); pos10(vair,-90); pos12(cap_curve,0); %-15
  52. pos14(vair,90); pos16(.5[cap_curve,cap_stem],180); pos18(vair,270);
  53. pos20(cap_curve,360); pos22(vair,450); pos24(cap_hair,540);
  54. pos26(vair,630); pos28(cap_curve,720); pos30(vair,750);
  55. x6=13u; y6=.3h; x8r=11u; y8=.2h; x10=13.5u; bot y10r=-oo;
  56. rt x12r=hround w-u; y12=.2h; x14=11u; y14=.52h;
  57. x16l=10.5u; y16=.48h; x18=11u; y18=.44h; x20r=13.5u; y20=.65h;
  58. x22=6u; top y22r=h+oo; lft x24r=hround u; y24=.7h;
  59. x26=4.5u; y26=.4h; x28=6.5u; y28=.55h; x30=5.5u; y30=.8h;
  60. filldraw stroke pulled_arc.e(6,8)&pulled_arc.e(8,10)&pulled_arc.e(10,12)
  61. &pulled_arc.e(12,14)&pulled_arc.e(14,16)&pulled_arc.e(16,18)
  62. &pulled_arc.e(18,20)&pulled_arc.e(20,22)&pulled_arc.e(22,24)
  63. &pulled_arc.e(24,26)&pulled_arc.e(26,28)..{dir(130)}z30e;
  64. %z6e{left}...z8e{down}...z10e{right}
  65. %...z12e..z14e{left}...z16e{down}...z18e{right}
  66. %...z20e{up}...z22e{left}...z24e{down}...z26e{right}
  67. %...z28e{up}..z30e;
  68. penlabels(1,2,3,4,5,6,8,10,12,14,16,18,20,22,24,26,28,30);
  69. math_fit(-.15h#*slant-2u#,.3h#*slant);
  70. endchar;
  71.  
  72. cmchar "Script letter C";
  73. beginchar("C",16u#,cap_height#,0);
  74. italcorr h#*slant-2.75u#;
  75. adjust_fit(0,0); pickup fine.nib;
  76. pos0(vair,210); pos1(cap_hair,180); pos2(vair,90);
  77. pos3(cap_curve,0); pos4(vair,-90); pos5(cap_stem,-180);
  78. pos6(vair,-270);
  79. pos7(cap_hair,-360); pos8(vair,-450); pos9(cap_curve,-540); pos10(vair,-630);
  80. lft x0r=12u; bot y0r=.1h;
  81. x1=11u; bot y1=.25h; x2=12.25u; y2=.4h; x3=15u; y3=.15h;
  82. x4=13u; y4=-oo; lft x5r=hround 7.5u; y5=.5h; x6=11.5u; top y6l=h+oo;
  83. rt x7r=hround 14u; y7=.8h; x8=7u; bot y8r=.5h; lft x9r=hround u; y9=.8h;
  84. x10=4u; y10=.95h;
  85. filldraw stroke z0e..pulled_arc.e(1,2)&pulled_arc.e(2,3)&pulled_arc.e(3,4);
  86. filldraw stroke pulled_arc.e(4,5)&pulled_arc.e(5,6)&pulled_arc.e(6,7);
  87. filldraw stroke pulled_arc.e(7,8)&pulled_arc.e(8,9)&pulled_arc.e(9,10);
  88. penlabels(1,2,3,4,5,6,7,8,9,10);
  89. math_fit(-.8h#*slant,.35h#*slant);
  90. endchar;
  91.  
  92. cmchar "Script letter D";
  93. beginchar("D",15u#,cap_height#,0);
  94. italcorr 0.8h#*slant-2.5u#;
  95. adjust_fit(0,0); pickup fine.nib;
  96. pos1(vair,90); pos2(cap_stem,180); pos3(vair,90);
  97. x1=hround w-3u; y1=0.8h;
  98. x2=.5[x1,x3]; y2=.5[y1,y3];
  99. x3=8u; bot y3l=-o;
  100. pos4(cap_curve,0); pos5(vair,-90); pos6(vair,-90);
  101. lft x4l=hround 5u; y4=y3+0.03h; x5=7u; y5=y3+0.06h; x6=w-2.5u; bot y6r=-o;
  102. pos7(cap_hair,0); pos8(vair,90); pos9(cap_curve,180);
  103. x7r=hround w-u; y7=0.33h; x8=5u; top y8r=h+oo; x9r=hround u; y9=0.75h;
  104. pos10(vair,270); pos11(cap_hair,360); pos12(vair,380);
  105. x10=5u; y10r=0.4h; x11r=7u; y11=0.6h; x12l=6u; y12r=0.8h;
  106. filldraw stroke z1e{left}...z2e{down}...z3e{left}...z4e{up} % stem
  107. ...z5e{right}...z6e..z7e..z8e{left}...z9e{down} % bowl
  108. ...z10e{right}...z11e{up}..z12e; % flourish
  109. penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
  110. math_fit(-4u#,.33h#*slant);
  111. endchar;
  112.  
  113.  
  114. cmchar "Script letter E";
  115. beginchar("E",11u#,cap_height#,0);
  116. italcorr .8h#*slant-2u#;
  117. adjust_fit(0,0); pickup fine.nib;
  118. pos1(vair,-270); pos2(cap_hair,-180); pos3(vair,-90);
  119. numeric light_stem; hv_curve=.5[cap_curve,cap_stem];
  120. pos4(cap_hair,0); pos5(.3[vair,cap_curve],90); pos6(hv_curve,180);
  121. pos7(vair,270); pos8(cap_hair,360); pos9(vair,450); pos10(hv_curve,540);
  122. pos11(vair,630); pos12(cap_curve,720); pos13(vair,810);
  123. pos14(vair,930);
  124. x1=6u; top y1r=.9h; x2r=5u; y2=.8h; x3=7u; y3=.65h; x4=8u; y4=.75h;
  125. x5=4u; top y5r=h+oo; lft x6r=hround 1.2u; y6=.8h; x7=5.5u; y7=.51h;
  126. x8=6u; y8=.53h; x9=4.5u; y9=.57h; lft x10r=hround u; y10=.38h;
  127. x11=7u; bot y11r=-oo; rt x12r=hround w-u; y12=.18h; x13=6u; y13=.38h;
  128. x14r=5.5u; y14r=.15h;
  129. filldraw stroke pulled_arc.e(1,2)&pulled_arc.e(2,3)&pulled_arc.e(3,4)
  130. &pulled_arc.e(4,5)&pulled_arc.e(5,6)&pulled_arc.e(6,7)&pulled_arc.e(7,8)
  131. &pulled_arc.e(8,9)&pulled_arc.e(9,10)&pulled_arc.e(10,11)&pulled_arc.e(11,12)
  132. &pulled_arc.e(12,13)..{dir(300)}z14e;
  133. %filldraw stroke z1e{left}...z2e{down}...z3e{right}...z4e{up}
  134. %...z5e{left}...z6e{down}...z7e{right}...z8e{up}...z9e{left}
  135. %...z10e{down}...z11e{right}...z12e{up}...z13e{left}..z14e;
  136. math_fit(-.3h#*slant,.2h#*slant);
  137. endchar;
  138.  
  139. cmchar "Script letter F";
  140. beginchar("F",14u#,cap_height#,0);
  141. italcorr h#*slant-2.0u#;
  142. adjust_fit(0,0); pickup fine.nib;
  143. pos1(cap_hair,-45); pos2(cap_curve,0); pos3(cap_stem,0); pos4(vair,-90);
  144. pos5(hair,-180); pos6(flare,-180);
  145. x1r=9.3u; y1=.85h; lft x2l=8u; y2=.65h; rt x3r=10u; y3=.3h;
  146. x4=6.25u; bot y4l=-o; lft x6r=hround 2u; y6=.17h;
  147. filldraw stroke z1e..z2e{down}...z3e{down}...{left}z4e; % stem
  148. bulb(4,5,6);
  149. pos7(cap_curve,90); rt x7=hround 12u; top y7r=.93h;
  150. pos9(cap_curve,90); x9=5u; top y9=h+oo;
  151. pos10(cap_hair,180); lft x10r=hround u; y10=.75h;
  152. pos11(vair,270); x11=4u; bot y11r=.5h;
  153. pos12(cap_curve,360); rt x12r=7u; y12=.65h;
  154. pos13(vair,415); x13=5u; y13=.85h;
  155. filldraw stroke z7e{left}...pulled_arc.e(9,10)&pulled_arc.e(10,11)
  156. &pulled_arc.e(11,12)..z13e; % cap
  157. pos14(cap_hair,0); pos15(vair,-90); pos16(cap_hair,0);
  158. pos17(vair,90); pos18(.5[cap_hair,cap_curve],180);
  159. pos19(.2[cap_curve,cap_stem],210);
  160. lft x14l=hround 5u; y14=.28h; x15=9u; y15=.4h; rt x16r=hround 13u; y16=.5h;
  161. x17=12u; top y17r=.58h; lft x18r=11u; y18=.45h; rt x19l=12.3u; bot y19r=.3h;
  162. filldraw stroke pulled_arc.e(14,15)&pulled_arc.e(15,16)&pulled_arc.e(16,17)
  163. &pulled_arc.e(17,18)..z19e; % bar
  164. penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
  165. math_fit(-.15h#*slant-u#,.5h#*slant);
  166. endchar;
  167.  
  168.  
  169. cmchar "Script letter G";
  170. beginchar("G",15.2u#,cap_height#,0);
  171. italcorr .85h#*slant-2u#;
  172. adjust_fit(0,0); pickup fine.nib;
  173. pos0(vair,-270); pos1(cap_curve,-180); pos2(vair,-90); pos3(cap_curve,0);
  174. pos4(vair,90); pos5(cap_stem,180); pos6(vair,270); pos7(vair,315);
  175. x0=3.5u; y0=.95h; lft x1r=hround u; y1=.75h; x2=6.5u; bot y2r=vround .4h;
  176. rt x3r=hround 12u; y3=.85h; x4=9.5u; top y4r=h+o; lft x5r=hround 6.7u;
  177. y5=.6h; x6=10.5u; y6=.3h; x7=13u; y7=.6h;
  178. filldraw stroke pulled_arc.e(0,1)&pulled_arc.e(1,2)&pulled_arc.e(2,3)
  179. &pulled_arc.e(3,4)&pulled_arc.e(4,5)&pulled_arc.e(5,6)..{dir(45)}z7e;
  180. pos8(cap_hair,-45); pos9(.2[cap_curve,cap_stem],0);
  181. pos10(cap_stem,0); pos11(vair,-90);
  182. pos12(hair,-180); pos13(flare,-180);
  183. z8=z7; lft x9l=hround 12u; y9=.4h; rt x10r=hround 14.2u; y10=.12h;
  184. x11=11.25u; bot y11l=-o; x13r=hround 7u; y13=.17h;
  185. filldraw stroke z8e{dir(225)}..z9e{down}...z10e{down}...{left}z11e;
  186. bulb(11,12,13);
  187. penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13);
  188. math_fit(-.75h#*slant,.5h#*slant-2u#);
  189. endchar;
  190.  
  191. cmchar "Script letter H";
  192. beginchar("H",17u#,cap_height#,0);
  193. italcorr 0.8h#*slant;
  194. adjust_fit(0,0); pickup fine.nib;
  195. pos1(cap_hair,180); pos2(vair,90);
  196. pos3(cap_stem,0); pos4(vair,-90);
  197. pos5(cap_hair,-180); pos6(vair,-270);
  198. pos7(cap_hair,-180);
  199. x1l=hround w-u; y1=0.2h; x2=w-2.5u; bot y2l=-oo; x3=w-6u; y3=.4h;
  200. x4=w-3.5u; top y4l=h+oo; x5l=hround w-u; y5=0.75h; x6=9u; y6=.55h;
  201. x7r=hround 3u; y7=.35h;
  202. filldraw stroke z1e{down}...z2e{left}...z3e{up}...z4e{right} % hook, rt stem
  203. ...z5e{down}...z6e{left}...{down}z7e; % crossbar
  204. pos8(cap_hair,180); pos9(vair,90); pos10(cap_curve,0);
  205. pos11(vair,90); pos12(cap_hair,180);
  206. x8r=hround u; y8=.725h; x9=2u; top y9r=.9h; x10r=4u; y10=.75h;
  207. x11=5u; bot y11l=.65h; x12r=7u; y12=.8h;
  208. filldraw stroke z8e{up}...z9e{right}...z10e{down}...z11e{right}
  209. ...{up}z12e; % flourish
  210.  pos13(cap_hair,-45); x13r=8u; top y13l=h+apex_o;
  211. pos14(cap_stem,0); pos15(vair,-90); pos16(hair,-180); pos17(flare,-180);
  212. x14=7u; y14=.3h; bot y15l=-o; x15=4.5u; x17r=hround u; y17=.17h;
  213. filldraw stroke z13e..z14e{down}...{left}z15e; % left stem
  214. bulb(15,16,17);
  215. penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17);
  216. math_fit(-.15h#*slant,.2h#*slant);
  217. endchar;
  218.  
  219.  
  220. cmchar "Script letter I";
  221. beginchar("I",11u#,cap_height#,0);
  222. italcorr h#*slant-u#;
  223. adjust_fit(0,0); pickup fine.nib;
  224. pos1(vair,135); pos2(cap_curve,180);
  225. pos3(vair,270); pos4(cap_hair,360); pos5(vair,390);
  226. pos6(cap_hair,-45); x6r=9u; top y6l=h+apex_o;
  227. z1r=z6l; x2r=3u; y2=.7h; x3=8u; y3l=.35h; x4l=10u; y4=.5h;
  228. x5r=9u; y5r=.7h;
  229. filldraw stroke z1e{dir(210)}..pulled_arc.e(2,3)&pulled_arc.e(3,4)
  230. ..{dir(130)}z5e;
  231. pos7(cap_stem,0); pos8(vair,-90); pos9(hair,-180); pos10(flare,-180);
  232. x7l=7u; y7=.3h; bot y8r=-o; x8=4.5u; x10r=hround u; y10=.17h;
  233. pos11(cap_curve,0); x11l=6.75u; y11=.67h;
  234. filldraw stroke z6e..z11e{down}...z7e{down}...{left}z8e;
  235. bulb(8,9,10);
  236. penlabels(1,2,3,4,5,6,7,8,9,10,11);
  237. math_fit(-.1h#*slant,.5h#*slant);
  238. endchar;
  239.  
  240.  
  241. cmchar "Script letter J";
  242. beginchar("J",12u#,cap_height#,desc_depth#);
  243. italcorr h#*slant-u#;
  244. adjust_fit(.7d#*slant,0); pickup fine.nib;
  245. pos1(vair,135); pos2(cap_curve,180);
  246. pos3(vair,270); pos4(cap_hair,360); pos5(vair,390);
  247. pos6(cap_hair,-45); x6r=9u; top y6l=h+apex_o;
  248. z1r=z6l; x2r=3u; y2=.7h; x3=8u; y3l=.35h; x4l=10u; y4=.5h;
  249. x5r=9u; y5r=.7h;
  250. filldraw stroke z1e{dir(210)}..pulled_arc.e(2,3)&pulled_arc.e(3,4)
  251. ..{dir(130)}z5e;
  252. pos7(cap_stem,0); pos8(vair,-90); pos9(hair,-180); pos10(hair,-180);
  253. x7l=7u; y7=.25h; bot y8l=-d-o; x8=4.5u; rt x9r=hround 2u; y9=-.5d;
  254. rt x10l=hround 11u; y10=.2h;
  255. pos11(cap_curve,0); x11l=6.75u; y11=.67h; 
  256. pos12(vair,-240); z12=.5[z9,z10];
  257. filldraw stroke z6e..{down}z11e...{down}z7e&pulled_arc.e(7,8)
  258. &pulled_arc.e(8,9)...z12e{dir(15)}...{up}z10e;
  259. penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
  260. math_fit(0,.5h#*slant);
  261. endchar;
  262.  
  263. cmchar "Script letter K";
  264. beginchar("K",16u#,cap_height#,0);
  265. italcorr h#*slant-1.5u#;
  266. adjust_fit(0,0); pickup fine.nib;
  267. pos1(cap_hair,180); pos2(vair,90);
  268. pos3(.5[cap_curve,cap_stem],0); pos4(vair,90);
  269. pos5(cap_hair,180); pos6(vair,270);
  270. pos7(.75[cap_hair,cap_curve],360); pos8(vair,315);
  271. x1l=hround w-u; y1=0.2h; x2=w-2.5u; bot y2l=-o; x3=w-6u; y3=.35h;
  272. x4=8.5u; top y4l=.55h; x5l=8u; y5=0.475h; x6=8.5u; y6=.45h;
  273. x7r=hround w-4u; y7=.825h; x8l=hround w-2u; top y8l=h;
  274. filldraw stroke pulled_arc.e(1,2)&pulled_arc.e(2,3) % hook
  275. &pulled_arc.e(3,4)&pulled_arc.e(4,5) % right leg
  276. &pulled_arc.e(5,6)&pulled_arc.e(6,7)..z8e; % right arm
  277. pos9(cap_hair,180); pos10(vair,90); pos11(cap_curve,0);
  278. pos13(vair,90); pos12(cap_hair,180);
  279. x9r=hround u; y9=.715h; x10=2u; top y10r=.9h; x11r=4u; y11=.75h;
  280. x13=5u; bot y13l=.65h; x12r=7u; y12=.8h;
  281. filldraw stroke pulled_arc.e(9,10)&pulled_arc.e(10,11)
  282. &pulled_arc.e(11,13)&pulled_arc.e(13,12); % flourish
  283. pos14(cap_hair,-45); x14r=8u; top y14l=h+apex_o;
  284. pos15(cap_stem,0); pos16(vair,-90); pos17(hair,-180); pos18(flare,-180);
  285. x15=7u; y15=.3h; bot y16l=-o; x16=4.5u; x18r=hround u; y18=.17h;
  286. filldraw stroke z14e..z15e{down}...{left}z16e; % stem
  287. bulb(16,17,18);
  288. penlabels(1,2,3,4,5,6,7,8,9,10,11,13,12,14,15,16,17,18);
  289. math_fit(-.15h#*slant,.2h#*slant);
  290. endchar;
  291.  
  292. cmchar "Script letter L";
  293. beginchar("L",15.5u#,cap_height#,0);
  294. italcorr 0.75 h#*slant-u#;
  295. adjust_fit(0,0); pickup fine.nib;
  296. pos1(cap_hair,180); pos2(0.8[vair,cap_curve],90); 
  297. pos3(vair,90);
  298. x1l=hround w-u; y1=0.2h; x2=12u; bot y2l=-o; x3=4u; y3=0.12h;
  299. pos4(cap_curve,180); pos5(vair,270); pos6(cap_stem,360);
  300. x4r=hround 2u;  x5=5u; x6=8.5u;
  301. y4=0.06h; bot y5r=-o; y6=0.3h;
  302. pos7(vair,270); pos8(0.5[cap_hair,cap_curve],180); pos9(vair,90); 
  303. x7=10u; top y7l=h+o; x8l=hround w-2.5u; y8=0.75h; x9=7u; y9r=.5h;
  304. pos10(cap_curve,0); pos11(vair,-90);
  305. x10l=hround u; y10=0.8h; x11=4u; top y11l=h;
  306. filldraw stroke z1e{down}...z2e{left}...z3e{left} % foot
  307. ...z4e{down}...z5e{right}...z6e{up}...z7e{right}...z8e{down} % stem
  308. ...z9e{left}...z10e{up}..z11e; % flourish
  309. penlabels(1,2,3,4,5,6,7,8,9,10,11);
  310. math_fit(-2u#,.25h#*slant);
  311. endchar;
  312.  
  313. cmchar "Script letter M";
  314. beginchar("M",19u#,cap_height#,0);
  315. italcorr h#*slant-4.25u#;
  316. adjust_fit(0,0); pickup fine.nib;
  317. pos1(cap_hair,-15); pos2(.6[cap_curve,cap_stem],0);
  318. pos3(cap_stem,0); pos4(vair,90); pos5(cap_hair,180);
  319. rt x1r=hround 14.25u; top y1=h+apex_o; lft x3l=hround 13u; y3=.25h;
  320. x4=16u; y4=-o; top y5=.2h; rt x5l=hround 18u;
  321. rt x2r=14u; y2=.8h; % should be intersectionpoint!
  322. filldraw stroke z1e{dir(-105)}---z2e{down}...
  323. % {down}z3e...{right}z4e..{up}z5e; % right descender
  324. pulled_arc.e(3,4)&pulled_arc.e(4,5);
  325. pos6(.2[vair,cap_stem],90); pos7(cap_stem,0); pos8(cap_hair,-20);
  326. x6=10.25u; bot y6r=-apex_o; x8=9.5u; top y8=h+apex_o;
  327. pos9(cap_hair,0); pos10(vair,-90); pos11(cap_hair,-180); pos12(flare,-180);
  328. x9=6u; y9=.45h; x10=3.5u; bot y10r=-oo; lft x12r=hround u; y12=.13h;
  329. filldraw stroke z8e{dir(-110)}..{dir(-100)}z9e..{left}z10e; % left descender
  330. bulb(10,11,12);
  331. x7l=8u; y7=.25h; pos15(.5[cap_curve,cap_stem],0);
  332. rt x15r=hround 9.5u; y15=.8h;  % should be intersectionpoint!
  333. pos13(cap_hair,165); z13=z1; pos14(cap_hair,180); x14=11.5u; y14=.45h;
  334. filldraw stroke z13e{dir(-105)}...{dir(-98)}z14e...
  335. % {left}z6e...{up}z7e
  336. pulled_arc.e(6,7)...{up}z15e---{dir(70)}z8e;
  337. penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17);
  338. math_fit(-.15h#*slant,.2h#*slant);
  339. endchar;
  340.  
  341. cmchar "Script letter N";
  342. beginchar("N",15u#,cap_height#,0);
  343. italcorr h#*slant;
  344. adjust_fit(0,0); pickup fine.nib;
  345. pos1(.5[cap_hair,cap_curve],-60); pos2(cap_hair,0);
  346. x1=14u; y1=h; lft x2l=hround 12u; y2=.65h;
  347. pos4(cap_hair,0); pos5(cap_stem,0); x4l=13u; y4=0; x5=10u; y5=.5h;
  348. pos6(cap_hair,0); x6l=6.75u; top y6=h;
  349. filldraw stroke z1e{dir(-150)}..{down}z2e..z4e;
  350. filldraw stroke z6e{down}..z5e..{dir(-80)}z4e;
  351. pos7(cap_hair,0); pos8(vair,-90); pos9(hair,-180); pos10(flare,-180);
  352. x7l=6.75u; y7=.3h; bot y8l=-o; x8=4.5u; x10r=hround u; y10=.17h;
  353. filldraw stroke z6e...z7e...{left}z8e;
  354. bulb(8,9,10);
  355. penlabels(1,2,3,4,5,6,7,8,9,10);
  356. math_fit(-.15h#*slant,.4h#*slant-u#);
  357. endchar;
  358.  
  359. cmchar "Script letter O";
  360. beginchar("O",11.5u#,cap_height#,0);
  361. italcorr h#*slant-3u#;
  362. adjust_fit(0,0); pickup fine.nib;
  363. pos0(vair,-110); pos1(vair,-90); pos2(cap_hair,0);
  364. pos3(vair,90); pos4(cap_stem,180); pos5(vair,270); pos6(cap_curve,360);
  365. pos7(vair,450); pos8(cap_hair,540); pos9(cap_hair,570); x0=6u; y0=.7h;
  366. x1=8.5u; y1=.65h; rt x2r=hround 10u; y2=.75h; x3=5u; top y3r=h+oo;
  367. lft x4r=hround u; y4=.6h; x5=7.5u; bot y5r=-oo; rt x6r=hround 10.5u; y6=.3h;
  368. x7=5.5u; y7=.8h; x8=3.7u; y8=.5h; x9=5u; y9=.17h;
  369. filldraw stroke z0e{dir(-20)}..pulled_arc.e(1,2)
  370. &pulled_arc.e(2,3)&pulled_arc.e(3,4)
  371. &pulled_arc.e(4,5)&pulled_arc.e(5,6)&pulled_arc.e(6,7)&pulled_arc.e(7,8)
  372. ..{dir(-60)}z9e;
  373. penlabels(0,1,2,3,4,5,6,7,8,9);
  374. math_fit(-.3h#*slant,.5h#*slant);
  375. endchar;
  376.  
  377. cmchar "Script letter P";
  378. beginchar("P",16u#,cap_height#,0);
  379. italcorr max(.8h#*slant-1.5u#,h#*slant-3u#);
  380. adjust_fit(0,0); pickup fine.nib;
  381.  pos1(cap_hair,-45); x1r=12u; top y1l=h;
  382. pos2(cap_stem,0); pos3(vair,-90); pos4(cap_hair,-180); pos5(flare,-180);
  383. x2l=10u; y2=.35h; bot y3l=-o; x3=6.5u; x5r=hround 3u; y5=.17h;
  384. filldraw stroke z1e{-1,-1}...z2e{down}...{left}z3e; % stem
  385. bulb(3,4,5);
  386. pos14(vair,-270); pos16(cap_hair,-180); pos18(vair,-90);
  387. pos20(.5[cap_curve,cap_stem],0); pos22(vair,90); pos24(cap_hair,180);
  388. pos26(vair,270); pos28(.5[cap_hair,cap_curve],360); pos30(vair,390);
  389. x6=13u; y6=.3h; x8r=11u; y8=.2h; x10=13.5u; bot y10r=-oo;
  390. rt x12r=hround w-u; y12=.2h; x14=9u; y14=.62h;
  391. x16l=8.5u; y16=.55h; x18=12u; y18=.4h; rt x20r=hround 15u; y20=.55h;
  392. x22=6u; top y22r=h+o; lft x24r=hround u; y24=.7h;
  393. x26=4.5u; y26=.4h; x28r=7u; y28=.65h; x30=5.5u; top y30r=.9h;
  394. filldraw stroke pulled_arc.e(14,16)&pulled_arc.e(16,18)
  395. &pulled_arc.e(18,20)&pulled_arc.e(20,22)&pulled_arc.e(22,24)
  396. &pulled_arc.e(24,26)&pulled_arc.e(26,28)..{dir(130)}z30e;
  397. penlabels(1,2,3,4,5,6,8,10,12,14,16,18,20,22,24,26,28,30);
  398. math_fit(-.25h#*slant,.5h#*slant);
  399. endchar;
  400.  
  401. cmchar "Script letter Q";
  402. beginchar("Q",16u#,cap_height#,0);
  403. italcorr max(.2h#*slant-.5u#,.8h#*slant-4.75u#);
  404. adjust_fit(0,0); pickup fine.nib;
  405. pos1(cap_hair,390); pos2(cap_curve,360); pos3(vair,270);
  406. lft x1l=5u; y1l=.85h; rt x2r=hround 8u; y2=.6h; x3=5u; bot y3r=vround .42h;
  407. pos4(cap_curve,180); pos5(vair,90); pos6(cap_stem,0);
  408. lft x4r=hround u; y4=.75h; x5=5u; top y5r=h+o; rt x6r=hround 12u; y6=.5h;
  409. filldraw stroke pulled_arc.e(6,5)&pulled_arc.e(5,4)&pulled_arc.e(4,3)
  410. &pulled_arc.e(3,2)..{dir(150)}z1e; % flourish and top
  411. pos7(vair,-90); pos8(.5[cap_hair,cap_curve],-180); pos9(cap_curve,-270);
  412. pos10(.6[vair,cap_curve],-270); pos11(cap_hair,-180);
  413. x7=5.5u; bot y7r=-o; lft x8r=hround 2u; y8=.12h; x9=4u; 
  414. top y9r= vround (y8+cap_curve); x10=12.5u; bot y10l=-o; rt x11l=hround 15u;
  415. y11=.2h;
  416. filldraw stroke pulled_arc.e(6,7)&pulled_arc.e(7,8)&pulled_arc.e(8,9)..
  417. pulled_arc.e(10,11); % bottom
  418. penlabels(1,2,3,4,5,6,7,8,9,10,11);
  419. math_fit(-.1h#*slant-u#,.2h#*slant);
  420. endchar;
  421.  
  422. cmchar "Script letter R";
  423. beginchar("R",17.5u#,cap_height#,0);
  424. italcorr h#*slant-6u#;
  425. adjust_fit(0,0); pickup fine.nib;
  426. pos1(cap_hair,390); pos2(cap_curve,360); pos3(vair,270);
  427. x1=5.5u; y1=.8h; rt x2r=hround 6.5u; y2=.55h;
  428. x3=4.5u; bot y3r=vround .38h;
  429. pos4(cap_hair,180); pos5(vair,90); pos6(cap_curve,0);
  430. lft x4r=hround u; y4=.7h; x5=6u; top y5r=h+o; rt x6r=hround 13.5u; y6=.65h;
  431. filldraw stroke pulled_arc.e(6,5)&pulled_arc.e(5,4)&pulled_arc.e(4,3)
  432. &pulled_arc.e(3,2)..{dir(130)}z1e; % flourish and bowl top
  433. pos7(vair,-90); pos8(cap_hair,-180); pos9(vair,-270); pos10(cap_stem,-360);
  434. pos11(cap_stem,-360); pos12(vair,-450); pos13(cap_hair,-540);
  435. x7=10u; bot y7r=vround .45h; lft x8r=hround 8.5u; y8=.5h;
  436. x9=10.5u; top y9r=vround .52h; rt x10r=rt x11r=hround 13.2u; y10=.3h;
  437. y11=.15h; x12=14.8u; bot y12r=-o; rt x13l=hround (w-u); y13=.2h;
  438. filldraw stroke pulled_arc.e(10,9)&pulled_arc.e(9,8)&pulled_arc.e(8,7)
  439. &pulled_arc.e(7,6); % inner loop
  440. filldraw stroke z10e..pulled_arc.e(11,12)&pulled_arc.e(12,13); % leg
  441. pos14(cap_hair,-45);
  442. pos16(cap_stem,0); pos17(vair,-90);
  443. pos18(cap_hair,-180); pos19(flare,-180);
  444. x14r=11u; top y14l=h; x15r=8.8u; y15=.8h; x16r=10u; y16=.3h;
  445. x17=6.5u; bot y17=-oo; x19r=hround 3u; y19=.17h;
  446. filldraw stroke z14e{-1,-1}..{down}z16e...{left}z17e; % stem
  447. bulb(17,18,19);
  448. penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);
  449. math_fit(-.2h#*slant-2.2u#,.2h#*slant);
  450. endchar;
  451.  
  452. cmchar "Script letter S";
  453. beginchar("S",12.5u#,cap_height#,0);
  454. italcorr h#*slant-u#;
  455. adjust_fit(0,0); pickup fine.nib;
  456. pos1(vair,-450); pos2(.5[cap_hair,cap_curve],-360); 
  457. pos3(vair,-270); pos4(cap_hair,-180);
  458. lft x1=5u; top y1l=.95h; lft x2r=hround u; y2=.75h; x3=7.5u; bot y3l=.45h;
  459. rt x4l=hround 12u; y4=.75h;
  460. pos5(vair,-90); x5r=10u; top y5l=h+oo;
  461. pos6(cap_stem,0); x6l=7.75u; y6=.67h;
  462. pos7(cap_stem,0); pos8(vair,-90); pos9(hair,-180); pos10(flare,-180);
  463. x7l=7.5u; y7=.3h; bot y8l=-o; x8=4.5u; x10r=hround u; y10=.17h;
  464. filldraw stroke pulled_arc.e(1,2)&pulled_arc.e(2,3)&pulled_arc.e(3,4)
  465. &pulled_arc.e(4,5)..z6e{down}...z7e{down}...{left}z8e;
  466. bulb(8,9,10);
  467. penlabels(1,2,3,4,5,6,7,8,9,10,11);
  468. math_fit(-.15h#*slant,.5h#*slant);
  469. endchar;
  470.  
  471. cmchar "Script letter T";
  472. beginchar("T",13u#,cap_height#,0);
  473. italcorr h#*slant-1.0u#;
  474. adjust_fit(0,0); pickup fine.nib;
  475. pos1(cap_hair,-45); pos2(cap_curve,0); pos3(cap_stem,0); pos4(vair,-90);
  476. pos5(hair,-180); pos6(flare,-180);
  477. x1r=10.3u; y1=.85h; lft x2l=9u; y2=.65h; rt x3r=11u; y3=.3h;
  478. x4=7.25u; bot y4l=-o; x6r=hround 3u; y6=.17h;
  479. filldraw stroke z1e..z2e{down}...z3e{down}...{left}z4e; % stem
  480. bulb(4,5,6);
  481. pos7(cap_curve,90); rt x7=hround 12u; top y7r=.93h;
  482. pos9(cap_curve,90); x9=5u; top y9=h+oo;
  483. pos10(cap_hair,180); lft x10r=hround u; y10=.75h;
  484. pos11(vair,270); x11=4u; bot y11r=.5h;
  485. pos12(cap_curve,360); rt x12r=7u; y12=.65h;
  486. pos13(vair,415); x13=5u; y13=.85h;
  487. filldraw stroke z7e{left}...pulled_arc.e(9,10)&pulled_arc.e(10,11)
  488. &pulled_arc.e(11,12)..z13e; % cap
  489. penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
  490. math_fit(-.25h#*slant,.3h#*slant);
  491. endchar;
  492.  
  493. cmchar "Script letter U";
  494. beginchar("U",18.25u#,cap_height#,0);
  495. italcorr .87h#*slant-1.5u#;
  496. adjust_fit(0,0); pickup fine.nib;
  497. pos1(cap_hair,390); pos2(cap_curve,360); pos3(vair,270);
  498. lft x1l=4.5u; y1l=.85h; rt x2r=hround 6.5u; y2=.6h; x3=4u;
  499. bot y3r=vround .43h;
  500. pos4(cap_hair,180); pos5(vair,90); pos6(.5[cap_curve,cap_stem],0);
  501. lft x4r=hround u; y4=.7h; x5=5u; top y5r=h+o; rt x6r=hround 10u; y6=.6h;
  502. pos7(cap_stem,0); pos8(vair,90); pos9(cap_hair,180);
  503. rt x7r=hround 10u; y7=.25h; x8=11u; bot y8l=-o;
  504. lft x9r=hround 12.7u; y9=.2h; % should be intersectionpoint or tangent
  505. filldraw stroke pulled_arc.e(6,5)&pulled_arc.e(5,4)&pulled_arc.e(4,3)
  506. &pulled_arc.e(3,2)..{dir(120)}z1e; % flourish and bowl top
  507. filldraw stroke z6e---pulled_arc.e(7,8)&pulled_arc.e(8,9);
  508. pos10(cap_stem,0); pos11(cap_stem,0); pos12(vair,90); pos13(cap_hair,180);
  509. rt x10r=hround 15u; y10=.87h; lft x11l=lft x9r; y11=.2h;
  510. x12=15u; bot y12l=-o; rt x13l=hround 17.25u; y13=.18h;
  511. filldraw stroke z10e..pulled_arc.e(11,12)&pulled_arc.e(12,13);
  512. penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
  513. math_fit(-.5h#*slant-u#,.18h#*slant);
  514. endchar;
  515.  
  516. cmchar "Script letter V";
  517. beginchar("V",13.8u#,cap_height#,0);
  518. italcorr h#*slant-.5u#;
  519. adjust_fit(0,0); pickup fine.nib;
  520. pos1(cap_hair,180); pos2(vair,90); pos3(cap_curve,0); pos4(vair,90);
  521. pos5(cap_hair,180); pos5'(cap_hair,180);
  522. lft x1r=hround u; y1=.68h; top y2r=vround .86h; x2=3u; lft x3l=hround 3.8u;
  523. y3=.75h; bot y4l=vround .62h; x4=5.5u; x5r=6.7u; y5=.8h; 
  524. x5'l=hround 7u; top y5'=h+apex_o;
  525. filldraw stroke pulled_arc.e(1,2)...z3e{dir(-105)}
  526. ...pulled_arc.e(4,5); % flourish
  527. pos6(cap_stem,180); pos7(cap_hair,180); pos8(cap_hair,180); 
  528. pos9(.5[cap_hair,cap_curve],135);
  529. x6=8.5u; y6=.5h; rt x7l=10u; bot y7=-apex_o; x8=11.5u; y8=.5h;
  530. x9l=12.8u; top y9r=h;
  531. filldraw stroke z5'e{dir(-105)}...z6e...{dir(-105)}z7e; % stem
  532. filldraw stroke z7e{dir(80)}..{up}z8e..{(1,1)}z9e; % right arm
  533. penlabels(1,2,3,4,5,5',6,7,8,9);
  534. math_fit(-.68h#*slant,.5h#*slant-u#);
  535. endchar;
  536.  
  537. cmchar "Script letter W";
  538. beginchar("W",17.5u#,cap_height#,0);
  539. italcorr h#*slant-.5u#;
  540. adjust_fit(0,0); pickup fine.nib;
  541. pos1(cap_hair,0); pos2(cap_stem,0); pos3(cap_hair,0);
  542. x1l=hround 11u; x3l=hround 12.5u; x2=.5[x1,x3]; top y1=h+apex_o;
  543. bot y3=-apex_o; y2=.5h;
  544. filldraw stroke z1e{down}...z2e...{down}z3e; % inner left
  545. pos4(cap_hair,0); x4=.5[x3,x5]; y4=.5h;
  546. pos5(cap_hair,0); pos6(cap_stem,0); pos7(cap_hair,0);
  547. x5l=hround 7u; x7l=hround 8.5u; x6=.5[x5,x7]; top y5=h+apex_o;
  548. bot y7=-apex_o; y6=.5h;
  549. filldraw stroke z1e{dir(-105)}...z4e...{dir(-105)}z7e; % inner right
  550. filldraw stroke z5e{dir(-105)}...z6e...{dir(-105)}z7e; % right arm
  551. pos8(cap_hair,180); pos9(vair,90); pos10(cap_curve,0);
  552. pos11(vair,90); pos12(cap_hair,180);
  553. x8r=hround u; y8=.725h; x9=2u; top y9r=.9h; x10r=4u; y10=.75h;
  554. x11=5u; bot y11l=.65h; x12r=7u; y12=.8h;
  555. filldraw stroke z8e{up}...z9e{right}...z10e{dir(-105)}...z11e{right}
  556. ...{up}z12e; % flourish
  557. pos13(cap_hair,0); pos14(.5[cap_hair,cap_curve],-60);
  558. lft x13l=hround 15u; y13=.5h; rt x14r=hround 16.5u; top y14l=h;
  559. filldraw stroke z14e{dir(-150)}..{down}z13e..{dir(-105)}z3e;
  560. penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13);
  561. math_fit(-.725h#*slant,.5h#*slant-u#);
  562. endchar;
  563.  
  564. cmchar "Script letter X";
  565. beginchar("X",17u#,cap_height#,0);
  566. italcorr h#*slant-2u#;
  567. adjust_fit(0,0); pickup fine.nib;
  568. pos1(vair,405); pos2(cap_curve,360); pos3(vair,270); pos4(cap_hair,180);
  569. pos5(vair,90); pos6(cap_stem,0); pos7(vair,-90); pos8(cap_hair,-180);
  570. pos9(flare,-180);
  571. lft x1l=4u; top y1r=.9h; rt x2r=hround 6u; y2=.65h; x3=4u; bot y3r=vround .5h;
  572. lft x4r=hround u; y4=.8h; x5=3.75u; top y5r=h+o; rt x6r=hround 10u; y6=.45h;
  573. x7=6.5u; bot y7r=-o; lft x9r=hround 3u; y9=.17h;
  574. filldraw stroke z1e..pulled_arc.e(2,3)&pulled_arc.e(3,4)&pulled_arc.e(4,5)
  575. &pulled_arc.e(5,6)&pulled_arc.e(6,7); % left side
  576. bulb(7,8,9);
  577. pos10(vair,90); pos11(vair,90); x10=7u; x11=11.5u; y10r=y11r=vround .5h;
  578. filldraw stroke z10e..z11e; % crossbar
  579. pos12(flare,0); pos13(cap_hair,0); pos14(vair,90); pos15(cap_hair,180);
  580. pos16(vair,270); pos17(cap_hair,360);
  581. rt x12r=hround 14u; y12=.95h; x14=12u; top y14r=h+o; z15l=z6r;
  582. x16=14u; bot y16r=-o; rt x17r=hround 16u; y17=.25h;
  583. bulb(14,13,12);
  584. filldraw stroke pulled_arc.e(14,15)&pulled_arc.e(15,16)&pulled_arc.e(16,17);
  585. penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
  586. math_fit(-.25h#*slant,.25h#*slant);
  587. endchar;
  588.  
  589. cmchar "Script letter Y";
  590. beginchar("Y",15u#,cap_height#,0);
  591. italcorr h#*slant-.5u#;
  592. adjust_fit(0,0); pickup fine.nib;
  593. pos1(vair,405); pos2(cap_curve,360); pos3(vair,270); pos4(cap_hair,180);
  594. pos5(vair,90); pos6(cap_stem,0); pos7(cap_stem,0); pos8(vair,90);
  595. pos9(cap_hair,180);
  596. lft x1l=4u; top y1r=.9h; rt x2r=hround 6.5u; y2=.6h;
  597. x3=4.5u; bot y3r=vround .4h;
  598. lft x4r=hround u; y4=.7h; x5=5u; top y5r=h+o; rt x6r=hround 10u; y6=.7h;
  599. rt x7r=hround 10u; y7=.5h; x8=11.5u; bot y8l=vround .27h; x9=13u; y9=.4h;
  600. filldraw stroke z1e..pulled_arc.e(2,3)&pulled_arc.e(3,4)&pulled_arc.e(4,5)
  601. &pulled_arc.e(5,6)---pulled_arc.e(7,8)&pulled_arc.e(8,9); % left side
  602. pos10(vair,-45); pos11(cap_curve,0); pos12(cap_stem,0); pos13(vair,-90);
  603. pos14(cap_hair,-180); pos15(flare,-180);
  604. rt x10r=hround 14u; top y10l=h; lft x11l=hround 12u; y11=.8h;
  605. rt x12r=hround 14u; y12=.35h; x13=10u; bot y13r=-o; lft x15r=hround 6u;
  606. y15=.17h;
  607. filldraw stroke z10e{dir(-135)}..z11e{down}...z12e{down}...{left}z13e;
  608. bulb(13,14,15);
  609. penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
  610. math_fit(-.6h#*slant,.35h#*slant);
  611. endchar;
  612.  
  613. cmchar "Script letter Z";
  614. beginchar("Z",16u#,cap_height#,0);
  615. italcorr h#*slant-2.8u#;
  616. adjust_fit(0,0); pickup fine.nib;
  617. pos1(vair,405); pos2(cap_curve,360); pos3(vair,270); pos4(cap_hair,180);
  618. pos5(vair,90); pos6(cap_stem,0); pos7(cap_stem,0); pos8(vair,90);
  619. pos9(cap_hair,180);
  620. lft x1l=4u; top y1r=.85h; rt x2r=hround 6u; y2=.65h;
  621. x3=4u; bot y3r=vround .5h;
  622. lft x4r=hround u; y4=.75h; x5=4.5u; top y5r=h+o; rt x6r=hround 7.5u; y6=.85h;
  623. rt x7r=hround 7.5u; y7=.75h; x8=9.5u; bot y8l=vround .7h;
  624. rt x9l=hround 13.7u; y9=.85h;
  625. pos10(vair,270); pos11(vair,-90); pos12(cap_stem,0); pos13(vair,-90);
  626. pos14(cap_hair,-180); pos15(vair,-270); pos16(cap_curve,-270);
  627. pos17(cap_hair,-180);
  628. top y10l=h+oo; x10=11.5u; z11=z10; x12=10u; y12=.5h; x13=6.5u; bot y13r=-oo;
  629. lft x14r=hround 4u; x15=6u; top y15r=vround .16h; x16=12.5u; bot y16l=-o;
  630. y14=.075h; rt x17l=hround 15u; top y17=vround .2h;
  631. filldraw stroke z1e..pulled_arc.e(2,3)&pulled_arc.e(3,4)&pulled_arc.e(4,5)
  632. &pulled_arc.e(5,6)&pulled_arc.e(6,8)&pulled_arc.e(8,9)&pulled_arc.e(9,10);
  633. filldraw stroke z11e{left}..{down}z12e..{left}z13e...{up}z14e...{right}z15e
  634. ...{right}z16e..{up}z17e; % stem and foot
  635. pos18(vair,90); pos19(vair,90); x18=8u; x19=13u; y18r=y19r=vround .5h;
  636. filldraw stroke z18e..z19e; % crossbar;
  637. penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);
  638. math_fit(max(-3u#,-.75h#*slant-u#),.2h#*slant);
  639. endchar;
  640.  
  641. cmchar "Tie accent";
  642. beginchar(oct"177",5u#,asc_height#,0);
  643. italcorr 4/9[x_height#,asc_height#]*slant+4.5u#+2letter_fit#+.5hair#;
  644. adjust_fit(if monospace:2u#,2u# else:serif_fit#,serif_fit# fi);
  645. pickup fine.nib; pos1(hair,180); pos2(vround 1/5[vair,stem],90); pos3(hair,0);
  646. lft x1r=hround(.5w-.5hair); x2=.5[x1,x3];
  647. rt x3r=hround(w+4u+2letter_fit+.5hair);
  648. y1=y3=4/9[x_height,asc_height]; top y2r=vround 8/9[x_height,asc_height];
  649. filldraw stroke super_arc.e(1,2) & super_arc.e(2,3);  % arc
  650. penlabels(1,2,3); endchar;
  651.